package com.ztorn.fiscale.service;

import java.util.List;
import org.springframework.web.multipart.MultipartFile;
import com.ztorn.fiscale.domain.FiscaleDocument;

/**
 * 单证Service接口
 * 
 * @author ztorn
 */
public interface IFiscaleDocumentService 
{
    /**
     * 查询单证
     * 
     * @param documentId 单证ID
     * @return 单证
     */
    public FiscaleDocument selectFiscaleDocumentById(Long documentId);

    /**
     * 查询单证列表
     * 
     * @param fiscaleDocument 单证
     * @return 单证集合
     */
    public List<FiscaleDocument> selectFiscaleDocumentList(FiscaleDocument fiscaleDocument);

    /**
     * 新增单证
     * 
     * @param fiscaleDocument 单证
     * @return 结果
     */
    public int insertFiscaleDocument(FiscaleDocument fiscaleDocument);

    /**
     * 修改单证
     * 
     * @param fiscaleDocument 单证
     * @return 结果
     */
    public int updateFiscaleDocument(FiscaleDocument fiscaleDocument);

    /**
     * 批量删除单证
     * 
     * @param documentIds 需要删除的单证ID
     * @return 结果
     */
    public int deleteFiscaleDocumentByIds(Long[] documentIds);

    /**
     * 删除单证信息
     * 
     * @param documentId 单证ID
     * @return 结果
     */
    public int deleteFiscaleDocumentById(Long documentId);
    
    /**
     * 上传单证文件
     * 
     * @param file 文件
     * @param documentTypeId 单证类型ID
     * @param referenceNo 关联单号
     * @return 单证信息
     */
    public FiscaleDocument uploadDocument(MultipartFile file, Long documentTypeId, String referenceNo);
}